export { }
/* abstract class Star {
    abstract answerPhone(): void;//接电话
} */
interface Star {
    answerPhone(): void;

}

class Laoban implements Star {
    //是否有空的意思
    available: boolean = false
    answerPhone(): void {
        console.log('你好,我是Angelababy');
    }
}

// 秘书就是代理
class Mishu implements Star {
    laoban
    //让秘书保持一个对老板引用
    constructor() {
        this.laoban = new Laoban();
    }
    // 用户不能直接联系老板，但是可以联系秘书，通过秘书来联系老板
    answerPhone(): void {
        console.log('你好,我是Angelababy的秘书');
        if (this.laoban.available) {//判断一下angelababy有没有空，如果有的话
            this.laoban.answerPhone();
        } else {
            console.log('很抱歉,Angelababy没有空!');
        }
    }
}

let angelababyAgent = new Mishu();
angelababyAgent.answerPhone();